package ai.people.netmon.framework.domain.telegram.entity;

import ai.people.netmon.framework.typehandler.ArrayTypeHandler;
import ai.people.netmon.framework.typehandler.MyLocalDateTimeTypeHandler;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * (Channels)实体类
 *
 * @author yuanqinglong
 * @since 2022-01-06 19:27:08
 */
@Data
@TableName(value = "channels", schema = "cfg_telegram",autoResultMap = true)
public class Channels implements Serializable {
    private static final long serialVersionUID = -79560033931171816L;
    /**
     * 群链接唯一标识
     */
    @TableId
    private Long id;
    /**
     * 群链接地址
     */
    @TableField("groupurl")
    private String groupurl;
    /**
     * 群名称
     */
    @NotEmpty(message = "群名称不可为空")
    private String groupname;
    /**
     * 语种
     */
    private String language;
    /**
     * 成员量
     */
    private String members;
    /**
     * 群简介
     */
    private String description;
    /**
     * 图片链接
     */
    private String imageurl;
    /**
     * 群类型（0、公开 1、私有）
     */
    private Integer grouptype;
    /**
     * 类型 0表示群 1表示频道 2表示机器人 3用户
     */
    private Integer type;
    /**
     * 是否机器人 1表示是
     */
    private Integer isbot;
    /**
     * 重要度(取值为0-5，-2：失效，0：不重要，1:一般，2：不活跃，3：一般重要，4：比较重要，5非常重要；)
     */
    private Integer importanceDeg;
    /**
     * 业务类型
     */
    private String businessType;
    /**
     * tg群唯一标识
     */
    private String groupid;
    /**
     * 群组拥有者
     */
    private String username;
    /**
     * 国家代码
     */
    private String countryCode;
    /**
     * 被引量
     */
    private Integer cited;
    /**
     * 活跃度
     */
    private Integer activity;
    /**
     * 相关度
     */
    private Integer relevance;
    /**
     * 推荐级别
     */
    private Integer recommendLevel;
    /**
     * 更新批次
     */
    private Integer updateBatchNo;
    /**
     * 有效性，0表示无效 1表示有效 2表示不活跃,3机器人占据
     */
    private Integer validity;
    /**
     * 1:正常入库、2：模拟自己添加
     */
    private Integer addStatusTmp;
    /**
     * 是否需要人工验证
     */
    private Integer validate;
    /**
     * 入库时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone = "GMT+8")
    @TableField(typeHandler = MyLocalDateTimeTypeHandler.class)
    private LocalDateTime insertdate;
    /**
     * 合作伙伴id
     */
    @TableField(typeHandler = ArrayTypeHandler.class)
    private String[] partnerIds;







}

